!pip install plotly
!pip install datapane
Requirement already satisfied: plotly in /opt/anaconda3/lib/python3.8/site-packages (5.3.1) Requirement already satisfied: six in /opt/anaconda3/lib/python3.8/site-packages (from plotly) (1.15.0) Requirement already satisfied: tenacity>=6.2.0 in /opt/anaconda3/lib/python3.8/site-packages (from plotly) (8.0.1) Requirement already satisfied: datapane in /opt/anaconda3/lib/python3.8/site-packages (0.12.3) Requirement already satisfied: posthog<2.0.0,>=1.4.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.4.3) Requirement already satisfied: datacommons<2.0.0,>=1.4.3 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.4.3) Requirement already satisfied: tabulate<0.9.0,>=0.8.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.8.9) Requirement already satisfied: validators<0.19.0,>=0.18.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.18.2) Requirement already satisfied: vega-datasets<1.0.0,>=0.9.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.9.0) Requirement already satisfied: packaging<22.0.0,>=20.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (20.9) Requirement already satisfied: munch<3.0.0,>=2.3.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (2.5.0) Requirement already satisfied: dacite<2.0.0,>=1.0.2 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.6.0) Requirement already satisfied: lxml<5.0.0,>=4.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (4.6.3) Requirement already satisfied: stringcase<2.0.0,>=1.2.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.2.0) Requirement already satisfied: PyYAML<6.0.0,>=5.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (5.4.1) Requirement already satisfied: chardet<5.0.0,>=3.0.4 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (4.0.0) Requirement already satisfied: pyarrow<6.0.0,>=3.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (5.0.0) Requirement already satisfied: Jinja2<4.0.0,>=2.11.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (2.11.3) Requirement already satisfied: furl<3.0.0,>=2.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (2.1.3) Requirement already satisfied: jsonschema<4.0.0,>=3.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (3.2.0) Requirement already satisfied: pydantic<2.0.0,>=1.6.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.8.2) Requirement already satisfied: requests<3.0.0,>=2.19.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (2.25.1) Requirement already satisfied: boltons<22.0.0,>=20.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (21.0.0) Requirement already satisfied: dominate<3.0.0,>=2.4.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (2.6.0) Requirement already satisfied: click-spinner<0.2.0,>=0.1.8 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.1.10) Requirement already satisfied: toolz<0.12.0,>=0.11.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.11.1) Requirement already satisfied: altair<5.0.0,>=4.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (4.1.0) Requirement already satisfied: requests-toolbelt<0.10.0,>=0.9.1 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.9.1) Requirement already satisfied: importlib_resources<6.0.0,>=3.0.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (5.4.0) Requirement already satisfied: nbconvert<7.0.0,>=5.6.1 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (6.0.7) Requirement already satisfied: glom<21.0.0,>=20.5.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (20.11.0) Requirement already satisfied: micawber>=0.5.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.5.4) Requirement already satisfied: click<9.0.0,>=7.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (7.1.2) Requirement already satisfied: colorlog<7.0.0,>=4.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (6.6.0) Requirement already satisfied: pandas<2.0.0,>=1.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (1.2.4) Requirement already satisfied: datacommons-pandas<0.0.4,>=0.0.3 in /opt/anaconda3/lib/python3.8/site-packages (from datapane) (0.0.3) Requirement already satisfied: numpy in /opt/anaconda3/lib/python3.8/site-packages (from altair<5.0.0,>=4.0.0->datapane) (1.20.1) Requirement already satisfied: entrypoints in /opt/anaconda3/lib/python3.8/site-packages (from altair<5.0.0,>=4.0.0->datapane) (0.3) Requirement already satisfied: six in /opt/anaconda3/lib/python3.8/site-packages (from datacommons<2.0.0,>=1.4.3->datapane) (1.15.0) Requirement already satisfied: orderedmultidict>=1.0.1 in /opt/anaconda3/lib/python3.8/site-packages (from furl<3.0.0,>=2.0.0->datapane) (1.0.1) Requirement already satisfied: attrs in /opt/anaconda3/lib/python3.8/site-packages (from glom<21.0.0,>=20.5.0->datapane) (20.3.0) Requirement already satisfied: face>=20.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from glom<21.0.0,>=20.5.0->datapane) (20.1.1) Requirement already satisfied: zipp>=3.1.0 in /opt/anaconda3/lib/python3.8/site-packages (from importlib_resources<6.0.0,>=3.0.0->datapane) (3.4.1) Requirement already satisfied: MarkupSafe>=0.23 in /opt/anaconda3/lib/python3.8/site-packages (from Jinja2<4.0.0,>=2.11.0->datapane) (1.1.1) Requirement already satisfied: pyrsistent>=0.14.0 in /opt/anaconda3/lib/python3.8/site-packages (from jsonschema<4.0.0,>=3.0.0->datapane) (0.17.3) Requirement already satisfied: setuptools in /opt/anaconda3/lib/python3.8/site-packages (from jsonschema<4.0.0,>=3.0.0->datapane) (52.0.0.post20210125) Requirement already satisfied: bleach in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (3.3.0) Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (0.5.3) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (1.4.3) Requirement already satisfied: mistune<2,>=0.8.1 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (0.8.4) Requirement already satisfied: testpath in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (0.4.4) Requirement already satisfied: nbformat>=4.4 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (5.1.3) Requirement already satisfied: pygments>=2.4.1 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (2.8.1) Requirement already satisfied: traitlets>=4.2 in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (5.0.5) Requirement already satisfied: jupyter-core in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (4.7.1) Requirement already satisfied: defusedxml in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (0.7.1) Requirement already satisfied: jupyterlab-pygments in /opt/anaconda3/lib/python3.8/site-packages (from nbconvert<7.0.0,>=5.6.1->datapane) (0.1.2) Requirement already satisfied: async-generator in /opt/anaconda3/lib/python3.8/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (1.10) Requirement already satisfied: nest-asyncio in /opt/anaconda3/lib/python3.8/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (1.5.1) Requirement already satisfied: jupyter-client>=6.1.5 in /opt/anaconda3/lib/python3.8/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (6.1.12) Requirement already satisfied: pyzmq>=13 in /opt/anaconda3/lib/python3.8/site-packages (from jupyter-client>=6.1.5->nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (20.0.0) Requirement already satisfied: tornado>=4.1 in /opt/anaconda3/lib/python3.8/site-packages (from jupyter-client>=6.1.5->nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (6.1) Requirement already satisfied: python-dateutil>=2.1 in /opt/anaconda3/lib/python3.8/site-packages (from jupyter-client>=6.1.5->nbclient<0.6.0,>=0.5.0->nbconvert<7.0.0,>=5.6.1->datapane) (2.8.1) Requirement already satisfied: ipython-genutils in /opt/anaconda3/lib/python3.8/site-packages (from nbformat>=4.4->nbconvert<7.0.0,>=5.6.1->datapane) (0.2.0) Requirement already satisfied: pyparsing>=2.0.2 in /opt/anaconda3/lib/python3.8/site-packages (from packaging<22.0.0,>=20.0.0->datapane) (2.4.7) Requirement already satisfied: pytz>=2017.3 in /opt/anaconda3/lib/python3.8/site-packages (from pandas<2.0.0,>=1.1.0->datapane) (2021.1) Requirement already satisfied: backoff<2.0.0,>=1.10.0 in /opt/anaconda3/lib/python3.8/site-packages (from posthog<2.0.0,>=1.4.0->datapane) (1.11.1) Requirement already satisfied: monotonic>=1.5 in /opt/anaconda3/lib/python3.8/site-packages (from posthog<2.0.0,>=1.4.0->datapane) (1.6) Requirement already satisfied: typing-extensions>=3.7.4.3 in /opt/anaconda3/lib/python3.8/site-packages (from pydantic<2.0.0,>=1.6.0->datapane) (3.7.4.3) Requirement already satisfied: idna<3,>=2.5 in /opt/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.19.0->datapane) (2.10) Requirement already satisfied: certifi>=2017.4.17 in /opt/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.19.0->datapane) (2020.12.5) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/anaconda3/lib/python3.8/site-packages (from requests<3.0.0,>=2.19.0->datapane) (1.26.4) Requirement already satisfied: decorator>=3.4.0 in /opt/anaconda3/lib/python3.8/site-packages (from validators<0.19.0,>=0.18.0->datapane) (5.0.6) Requirement already satisfied: webencodings in /opt/anaconda3/lib/python3.8/site-packages (from bleach->nbconvert<7.0.0,>=5.6.1->datapane) (0.5.1)
import matplotlib.pyplot as plt
import datapane as dp
import numpy as np
import pandas as pd
df = pd.read_csv('fifa_datos.csv')
##df.head(100)
df['Weight'] = df['Weight'].str[:-3]
df['Weight'] = pd.to_numeric(df['Weight'])
df.head(5)
| Columna | ID | Name | Age | Photo | Nationality | Flag | Overall | Potential | Club | ... | Composure | Marking | StandingTackle | SlidingTackle | GKDiving | GKHandling | GKKicking | GKPositioning | GKReflexes | Release Clause | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 158023 | L. Messi | 31 | https://cdn.sofifa.org/players/4/19/158023.png | Argentina | https://cdn.sofifa.org/flags/52.png | 94 | 94 | FC Barcelona | ... | 96.0 | 33.0 | 28.0 | 26.0 | 6.0 | 11.0 | 15.0 | 14.0 | 8.0 | €226.5M |
| 1 | 1 | 20801 | Cristiano Ronaldo | 33 | https://cdn.sofifa.org/players/4/19/20801.png | Portugal | https://cdn.sofifa.org/flags/38.png | 94 | 94 | Juventus | ... | 95.0 | 28.0 | 31.0 | 23.0 | 7.0 | 11.0 | 15.0 | 14.0 | 11.0 | €127.1M |
| 2 | 2 | 190871 | Neymar Jr | 26 | https://cdn.sofifa.org/players/4/19/190871.png | Brazil | https://cdn.sofifa.org/flags/54.png | 92 | 93 | Paris Saint-Germain | ... | 94.0 | 27.0 | 24.0 | 33.0 | 9.0 | 9.0 | 15.0 | 15.0 | 11.0 | €228.1M |
| 3 | 3 | 193080 | De Gea | 27 | https://cdn.sofifa.org/players/4/19/193080.png | Spain | https://cdn.sofifa.org/flags/45.png | 91 | 93 | Manchester United | ... | 68.0 | 15.0 | 21.0 | 13.0 | 90.0 | 85.0 | 87.0 | 88.0 | 94.0 | €138.6M |
| 4 | 4 | 192985 | K. De Bruyne | 27 | https://cdn.sofifa.org/players/4/19/192985.png | Belgium | https://cdn.sofifa.org/flags/7.png | 91 | 92 | Manchester City | ... | 88.0 | 68.0 | 58.0 | 51.0 | 15.0 | 13.0 | 5.0 | 10.0 | 13.0 | €196.4M |
5 rows × 89 columns
weight_count = []
data = df.loc[(df['Weight']<125)]
weight_count.append(len(data))
data = df.loc[(df['Weight']>=125) & (df['Weight']<150)]
weight_count.append(len(data))
data = df.loc[(df['Weight']>=150) & (df['Weight']<175)]
weight_count.append(len(data))
data = df.loc[(df['Weight']>=175)]
weight_count.append(len(data))
print(weight_count)
[41, 2290, 10876, 4952]
import plotly.graph_objects as go
labels = ['< 125lib','>= 125lib & <150lib','>=150lib & <175lib','>=175lib']
fig_weight = go.Figure(data=[go.Pie(labels=labels, values=weight_count)])
fig_weight.show()
import plotly.express as px
overall_count = []
data = df.loc[(df['Overall']>=40) & (df['Overall']<50)]
overall_count.append(len(data))
data = df.loc[(df['Overall']>=50) & (df['Overall']<60)]
overall_count.append(len(data))
data = df.loc[(df['Overall']>=60) & (df['Overall']<70)]
overall_count.append(len(data))
data = df.loc[(df['Overall']>=70) & (df['Overall']<80)]
overall_count.append(len(data))
data = df.loc[(df['Overall']>=80) & (df['Overall']<90)]
overall_count.append(len(data))
data = df.loc[(df['Overall']>=90)]
overall_count.append(len(data))
#print(overall_count)
bins = [40, 50, 60, 70, 80, 90]
fig_overall = px.bar(x=bins, y=overall_count, labels={'x':'Overall', 'y':'Número de jugadores'})
fig_overall.show()
report = dp.Report(dp.Plot(fig_weight), dp.Plot(fig_overall))
Bokeh version 2.3.2 is not supported, these plots may not display correctly, please install version ~=2.2.0
report.save(path="ReporteDeJugadores.html",open=True)
Report saved to ./ReporteDeJugadores.html. To upload and share your report, create a free Datapane account by running !datapane signup.
La herramienta datapane permite generar reportes, admitiendo dataframes de pandas graficas de plotly y diferentes paquetes de graficos tambien admite la posibilidad de escribir codigo html para un mejor reporte.
Fuente: https://datapane.com/